Карты - C:\Users\%username%\Documents\Warcraft III\Maps
Кампании - C:\Users\%username%\Documents\Warcraft III\Campaigns Папку для кампаний возможно потребуется создать самому.
BartSi, очень странно.
Нашёл проблему. В редакторе ландшафта нужно выбрать Camera Palette (там где юниты, декорации и прочее) выбрать первую строчку (камера без имени) и удалить. Тогда проблема решится. Сбросил триггеры и удалил камеру.
Ошибка из-за того, что у камеры почему-то пустое имя. Из-за этого её переменная оканчивается на _, что нельзя в JASS.
Эта проблема вызывается физическими повреждениями железа, как я нагуглил
Детали так сходу не скажу, но SFile.cpp - кусок storm.dll, вроде как обработчик строк
Но там тоже проблема с отображением типа атаки на герое.
Не понимаю, чем для данной задачи не устраивает Перевоплощение в такого же юнита с другой атакой.
По идее может помочь мемхак, но он только для версии игры 1.26а.
Было создано 22 366 679 экземпляров класса CUnitListNode, которые заняли 255.9 МБ памяти.
При очередной попытке выделения, игра упала.
Виной всему утечки памяти: за 21 минуту набралось 80 тысяч групп и 20 тысяч точек.
Также, из-за выполнения большого количества кода, сильно лагает.
На стадии выбора героя (первые две минуты), выполняется 550 000 операций в секунду, а далее — 1 200 000.
Для сравнения: лимит потока — 300 000 операций.
Хорошо, что ты приложил карту, так как в логе маловато информации.
Кривоватая подгрузка, удалять не обязательно. Лучше юзать preload без этаких костылей, темболее в JASS есть механизмы автоматического создания pld скриптов.
В общем во время сохранения файла я попробую продублирую весь код, во время загрузки файла я сначало выполню файл в котором чисто Preload("Код") чтобы его занести на компьютер клиента, а только потом начну выполнять Preload("\")\n <Код>\n//"). Надеюсь сработает. А про то что никто в этом не видит смысла, так часто говорят.
Получилось так что я допустил туже ошибку...
Может есть какая-нибудь нативка/функция которая будет синхронизировать информацию? Если нет, то скорее всего я зря пытаюсь.
Есть какая-нибудь статья про TriggerSyncReady и Start? xgm.guru/p/wc3/159609, тут обсуждается похожая ситуация.
В общем дождался друга чтоб протестить TriggerSyncStart и Ready, в итоге я поставил их перед функцией Preloader(сначало Start потом Ready) и всё десинк пропал.
Filius Dei, создаешь способность, которой ты будешь ставить метки. Даешь ей бафф без каких-либо эффектов.
Потом при касте своей способности которая меняет владельца просто проверяешь у цели наличие твоего баффа.
Death-time это время разложения и анимы смерти, после его истечения юнита уже нету на карте, но труп может быть и хендл пока висит.
Все неразлагающиеся (вспомни летунов) умирают сразу не оставляя трупов и удаляются после death time.
Так же суммоны, всякие варды. Можно добавить баф призыва волков, тогда юниты удалятся сразу после смерти.
Вот, правильно импортировал. Сама модель крайне странная, потому что War 3 ME не хочет ее открывать (увидел, что собой представляет только в War 3 Viewer'e).
Опытным путем, спустя второй день нервов, нашел выход. Я снова импортировал текст в карту, и она перестала крашиться. Почему отсутствие текста влияло на неё, не знаю.
Extremator, уже предлагали darkowlom, всеравно нужна бд на все возможные эффекты
короче все возможные ответы даны
тему закрываю
если кто то придумает чтото новое пишите автору в пм
Идеальный вариант чтобы игрок сам мог решать, нужно ли ему это. Сделай, если будет смотреться неплохо. И каким то образом запилить возможность выключения этой фичи.
да я решыл проблему я просто перегрузил комп
Я понел в чом проблема я поставил в vjass 2 галки нижние включил из надо отключать и тогды проблем не будет
Я бы предложил для начала попробовать себя в программировании, прежде чем использовать Jass. А так можно использовать GUI и переводить на Jass. На форуме даже была статья по оптимизации при переводе GUI –> Jass (да и просто оптимизации Jass и углубление в скриптование Warcraft 3). Лично мне это быстро помогло перейти на Jass за несколько дней.
Возможно, главным вопросом будет по типу: "А вы вообще понимаете, что вы делаете на том же GUI?"
Вариант по индексу не хотелось бы, ввиду использования для разных моделей.
Придётся. Walk не играется триггерно при нормальных условиях.
Впрочем можно заставить проигрывать walk поставив юниту скорость движения 0 в редакторе объектов.
События:
Юнит Умирает Условия:
(Diying unit) равно Герой
Owner of (Diying unit) не равно Нейтрально-враждебный Действия:
Wait 10 секунд
Воскресить (Diying unit)
В этом триггере (Diying unit) не будет меняться с каждой новой смертью, она как локалка.
Не плодите триггеров, все нужные действия можно и в цикле сделать.
У вас переменная T отвечает за состояние героя, зачем проверять жив юнит или нет?
T<0 Жив
T==0 Нужно воскресить прям сейчас
T>0 Ждёт воскрешения Cardinal:
смотри в кампании Рексара, в разделе триггеры, как там сделано.
По-моему ничего сложного нет:
ловим , что герой около камня. Попробуй расположить около камней ректы, и с помощью события ловить их. Конечно можно еще ловить таймером, проверяя каждую сек дистанцию между камнями и героем, или событием радиуса между ними. При заходе в эту область проигрываем анимацию свечения одного камня (узнай в модельке что за анимация), и выключаем свечение другого камня. Запоминаем для этого героя место спавна. Не знаю, если мульти делать, можно ли через getlocalplayer анимацию задавать. Если можно, то модель камня проще переделать, там разные цвета
При смерти героя таймером ждем, и спавним у этого места, проигрывая анимацию воскрешения у камня.
1.интерфейс/монстры-возвращение охраны ставь на 10000
2.удаляешь игрока 12 чтобы в игре он незначился а монстров создаёшь для него уже в игре у них недолжна быть прикреплена точка ожидания
3.их надо заставлять переодически двигаться либо всех разом в пределе 5 сек,либо переберая поочерёдно в 0,1сек а если их очень много то 0,05сек
4.то что ты описываешь бывает при очень большом количестве мобов,вариант сделать норм систему где мобы не наваливались волнами на предыдущих адержались определённого кол на карте
Почитай про утечки точек, как их создавать и удалять. Не знаю, как в твоём новом патче, но в 1.26 приказ отдаётся максимум 12 юнитам, у тебя может быть также, потому лучше отдавать приказ сразу после создания.
Предлагаю улучшить так:
Создать переменные для двух точек;
В триггере инициализации указать точкам значение центра областей 016 и 025;
Сделать периодический триггер с условием, что Король Мёртвых жив, а в действиях создание групп юнитов в одной точке, а сразу после создания приказ (Last Created Group) Перейти, нападая на противников, в другую точку;
По идее ещё бы отключить триггер за ненадобностью после смерти Короля Мёртвых, раз уж много таких триггеров, но всё равно изменение нагрузки будет незаметным, поэтому можно не отключать.
P. S. Утечка точки весит 0.361 кб, даже если не удалять утечки в этом триггере, то за 30 минут это будет 0.361х4х30=43.32 кб, что вполне приемлимо.
используй хэш таблицу/параллельные массивы/структуры
для каждой волны записывай равкоды юнитов и количество юнитов
при запуске волны считывай равкоды и количество и создавай юнитов на основе этих данных
когда все созданные юниты умерли запускай таймер на 30 секунд по истечению которого начинается следующая волна
разобраться с хэш таблицей/параллельными массивами/структурами и таймерами помогут статьи
Аргументы функций не обязательно обнулять Steal nerves:
нет, не нужно. это аргументы (это тоже локалки), говорят, что обнуляется само по завершению функции. А то что объявляем через local надо обнулять. строки вообще не обязательно обнулять (хоть не шарю в этом программировании, но обнулять не нужно). Уже многие пишут не надо строки обнулять, и аргументы. Можешь поискать.
Нужно обнулять только те локалки, которые указывают на игровой обьект.
Это раздел для вопросов по WC3, а не Photoshop. Ищите в Интернете "Как сделать альфа-канал в Photoshop".
Также есть статья для создания текстуры с тимколором.
Сам задал, сам ответил.
call BlzFrameSetParent выручает ситуацию, т.е. устанавливаешь предка, который не скрыт(любой созданный через blzCreateFrame, и к нему вешаешь.
Оба файла удаляются, потому что ты импортируешь их в карту через программу и не добавляешь данные о файлах в файл импорта(war3map.imp). При сохранении карты в редакторе архив пересобирается, и в него добавляются сторонние файлы, которые сохранены в том самом файле импорта. Поэтому используй стандартный менеджер импорта в редакторе.
Мы временно отказались от сторонних хостингов в txt2. Позднее уведомим о подключении новых. Старые хостинги поддерживаться, скорее всего, не будут из-за отсутствия поддержки https. Возможно, подключим dg-pic, но для этого требуются действия со стороны разработчика хостинга. Обратитесь к Doc за подробностями.
Помните, что в вышеуказанной справке изначально сообщалось, что использование таких хостингов не рекомендуется, а в страницах проектов вообще под запретом.
» WarCraft 3 / Не видит карту
» WarCraft 3 / Не вылезает
» WarCraft 3 / Космодесантник
» WarCraft 3 / Как добавить курьера в карту.
» WarCraft 3 / Preload
» WarCraft 3 / Получить кликнувшего игрока
» WarCraft 3 / Получить кликнувшего игрока
» WarCraft 3 / Глючит карта
» WarCraft 3 / Расстояние до цели
» WarCraft 3 / Урон по линии
» WarCraft 3 / Что делать?
» WarCraft 3 / Звук
» WarCraft 3 / Поднятие юнита в воздух.
» WarCraft 3 / Воскрешение
» WarCraft 3 / Reforged на LUA
» WarCraft 3 / Требование расы
» WarCraft 3 / Волны атак
» WarCraft 3 / Описание предметов
» WarCraft 3 / Color
» Администрация XGM / Ошибка
» WarCraft 3 / Интерфейс 1.31+
» WarCraft 3 / Триггер не отдает приказ всем юнитам
» Администрация XGM / Подсказка оценки комментария
» WarCraft 3 / Не могу открыть карту в обычном редакторе.
» Администрация XGM / Карта сайта